From f50e4912b763df0c56c01c163a3d9427794a6905 Mon Sep 17 00:00:00 2001 From: Boris Ostrovsky Date: Tue, 3 Jan 2017 09:04:12 -0500 Subject: [PATCH] libxl: Update xenstore on VCPU hotplug for all guest types Currently HVM guests that use upstream qemu do not update xenstore's availability entry for VCPUs. While it is not strictly necessary for hotplug to work, xenstore ends up not reflecting actual status of VCPUs. We should fix this. Signed-off-by: Boris Ostrovsky Acked-by: Wei Liu --- tools/libxl/libxl.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index d03e93968e..0622311a1e 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -5155,7 +5155,6 @@ int libxl_set_vcpuonline(libxl_ctx *ctx, uint32_t domid, libxl_bitmap *cpumap) switch (libxl__device_model_version_running(gc, domid)) { case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: case LIBXL_DEVICE_MODEL_VERSION_NONE: - rc = libxl__set_vcpuonline_xenstore(gc, domid, cpumap, &info); break; case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: rc = libxl__set_vcpuonline_qmp(gc, domid, cpumap, &info); @@ -5165,11 +5164,14 @@ int libxl_set_vcpuonline(libxl_ctx *ctx, uint32_t domid, libxl_bitmap *cpumap) } break; case LIBXL_DOMAIN_TYPE_PV: - rc = libxl__set_vcpuonline_xenstore(gc, domid, cpumap, &info); break; default: rc = ERROR_INVAL; } + + if (!rc) + rc = libxl__set_vcpuonline_xenstore(gc, domid, cpumap, &info); + out: libxl_dominfo_dispose(&info); GC_FREE; -- 2.30.2